//
//  TMEngineConfig.h
//  CordovaLib
//
//  Created by ZhouYou on 2018/1/19.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "TMCommonUploadModel.h"
@class UIColor;
@class TMEngineOSSConfig;
@interface TMEngineConfig : NSObject

/*主题颜色，默认wihteColor
一般会在导航组件加载配置后根据配置设定。（可能为空，导航组件加载后才有）
 */
@property (nonatomic, strong) UIColor *themeColor;

/*导航控制器颜色，默认与themeColor保持一致，也可单独配置。q
 一般会在导航组件加载配置后根据配置设定。
 （导航组件加载配置后，设定themeColor同时也将navigationBarTintColor设定为themeColor一致的值，若配置有图片且下载成功后，可将navigationBarTintColor设定为图片的Color
 
 已弃用
 */
@property (nonatomic, strong) UIColor *navigationBarTintColor __attribute__((deprecated("使用navigationTintColor")));


/**
 是否是通过外链打开app
 */
@property (nonatomic, assign) BOOL isURLopen;

/**
 导航栏tintColor颜色，即文字等颜色
 */
@property (nonatomic, strong) UIColor *navigationTintColor;

/**
 导航控制器背景颜色值类型，0：16进制色值字符串（如1479D7），1：图片base64字符串，2：图片网络链接,默认为色值字符串
 */
@property (nonatomic, assign) NSInteger navigationBarBackgroundType;

/**
 导航控制器背景颜色值,值类型参照navigationBarBackgroundType字段
 */
@property (nonatomic, strong) NSString *navigationBarBackgroundValue;

///二级页面是否显示同样的首页同样的导航栏配置 1 是  2否
@property (nonatomic, assign) NSInteger isSecondLevelPageSameWithHead;

///导航栏背景图
@property (nonatomic, strong) UIImage * navigationBarBackgroundImage;


///二级默认颜色
@property (nonatomic, strong) UIColor * defaultNavigationTintColor;


/*夜间模式主色调，默认0x383838
 */
@property (nonatomic, strong) UIColor *nightColor;

/*域名，http://或者https://开头，+ip+端口
 一般会在导航组件加载配置后根据配置设定
 */
@property (nonatomic, copy) NSString *domain;

/*站点ID
 一般会在导航组件加载配置后根据配置设定
 */
@property (nonatomic, copy) NSString *siteCode;

/*导航的配置文件参数
 file_name：
 */
//@property (nonatomic, copy) NSString *tmConfigName;

/*JPush推送相关key，框架使用
 */
@property (nonatomic, copy) NSString *jpushAppkey;
@property (nonatomic, copy) NSString *jpushChannel;

/// 天马网页路由表(数据字段可能以后可能会有新增)
/* 示例数据
 [
    {
      "name": "运营活动",
      "pathPrefix": "/application/tenma01yyzx_rgzro",
      "paramStr": "{\"tmHideNavgation\":1}" (JSON字符串)
    },
    {
      "name": "在线抽奖",
      "pathPrefix": "/application/prize_draw",
      "paramStr": "{\"tmHideNavgation\":1}" (JSON字符串)
    },
 ]
*/
@property (nonatomic, strong) NSArray * tmRouteRules;

/// 蜂巢网页路由表(数据字段可能以后可能会有新增)
/* 示例数据
 [
     {
       "name": "通用标识",
       "pathPrefix": "webType=fc",
       "paramStr": ""
     },
     {
       "name": "蜂巢资讯",
       "pathPrefix": "/application/fcinformation",
       "paramStr": ""
     }
 ]
*/
@property (nonatomic, strong) NSArray * fcRouteRules;


/// 字体大小 0原始标准大小 1 大(天马是在标准的大小上面增加+3像素) 2 特大(天马是在标准大小+7像素)
/// 具体大小可根据自身需求增加大小
@property (nonatomic, assign) NSInteger fontType;

///转码能力 1-OSS转码 2-vod转码  默认使用vod转码
@property (nonatomic, assign) NSInteger transcode_type;

///隐私权限是否开启开启游客模式 1开启 其他关闭
@property (nonatomic, assign) NSInteger is_auth;

///buildnum版本号
@property (nonatomic, assign) NSInteger ios_origin_visid;

/// 用户个性化配置（天马后台->客户端管控->个性化配置）（用户信息可更改、是否启用一键抹灰、app样式选择、是否启用百度统计等配置）
@property (nonatomic, strong) NSDictionary *  userConfig;

/// 取的上面用户个性化配置里面的一个值app_style_type (设置了userConfig就相当于设置了appStyle)
/// 1、普通样式  3、2024版本新样式  默认值为1（资讯组件里面也有这个配置选项，以这个为准，资讯里面多一个值为2的杂志样式）
@property (nonatomic, assign) NSInteger appStyle;


@property (nonatomic, strong) TMEngineOSSConfig * ossConfig;

///各种转码能力配置
@property (nonatomic, strong) TMCommonUploadModel * commConfig;
/**
 服务器配置
 */
@property (nonatomic, copy) NSDictionary *serversConfig;

@property (nonatomic, copy) NSArray *landscapes;


/**
 是否是debug模式，主要涉及是否打印日志
 */
@property (nonatomic, assign) BOOL tm_isDebug;

//根据key取各个组件在“TMBaseConfig.plist”中自定义的配置数据
- (NSDictionary *)featureByName:(NSString *)key;

@property (nonatomic, strong) NSArray *infoSchemeArray;

/// 是否是中文
+ (Boolean)isZh_cn;
/// 是否是藏语
+ (Boolean)isZang;

//+ (TMEngineConfig *)instance DEPRECATED_MSG_ATTRIBUTE("请使用sharedManager");
+ (TMEngineConfig *)instance;
+ (instancetype)sharedManager;
@end


@interface TMEngineOSSConfig : NSObject
///OSS区域
@property (nonatomic, copy) NSString *oss_region;
///OSS管道ID
@property (nonatomic, copy) NSString *pipeline_id;
///客户端转码模板信息
@property (nonatomic, copy) NSString *oss_client_template;
///客户端转码开关 0-关 1-开 默认关闭
@property (nonatomic, assign) NSInteger oss_client_switch;
@end
